Toegang krijgen tot admin rechten via user:
Manier 1: via Scenario: Exploiteren van Geplande Taken in de "Tasks Migrated" Map
De C:\Windows\Tasks Migrated directory bevat taken die mogelijk zijn overgebleven na een systeemupgrade. Sommige
van deze taken hebben mogelijk zwakke conguraties, zoals lees- of schrijfrechten voor standaardgebruikers.
In de map ontdekte ik dat het bestand pinger.bat in C:\temp\pinger.bat werd uitgevoerd.
Na het controleren van de temp-map, zag ik dat deze map beheerdersrechten had. Ik heb het bestand pinger.bat
verwijderd en een nieuw batchbestand aangemaakt met de opdrachten om een gebruiker aan te maken.
Na uit- en inloggen was de nieuwe gebruiker succesvol aangemaakt met adminrechten.
Manier 2: Via Services
Sommige services worden uitgevoerd met specieke opdrachten. Deze opdrachten kun je aanpassen en de service
starten om zo een nieuwe gebruiker aan te maken.
Hoe?
Stap 1: Zoek welke service een specieke opdracht uitvoert, bijvoorbeeld "Insecure Registry".
Stap 2: Bekijk de naam van de service.
Stap 3:
Ga naar de registry-editor om de service-opdracht aan te passen:
Ga naar HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ en zoek de naam van de service.
Stap 4: Bewerk de waarde van de sleutel ImagePath en voeg de opdracht toe die een gebruiker aanmaakt.
Stap 5: Voeg als eerste cmd.exe /c toe, gevolgd door de opdracht om een gebruiker aan te maken.
Bijvoorbeeld, om een gebruiker aan te maken, zou de ImagePath er als volgt uitzien:
cmd.exe /c net user <gebruikersnaam> <wachtwoord> /add && net localgroup administrators <gebruikersnaam> /add
Na het starten van de service wordt de nieuwe gebruiker aangemaakt met adminrechten.
Manier 3: Exploiteren van een Unquoted Service Path
Wanneer een servicepad niet tussen aanhalingstekens staat en er spaties in het pad zitten, probeert Windows
elk deel van het pad op te bouwen en voert het elk gevonden bestand in dat pad uit. Dit biedt een mogelijkheid
om een malade .exe-bestand te plaatsen in een directory die Windows probeert te openen. Dit bestand kan
dan automatisch worden uitgevoerd als de service wordt gestart.
Als je een uitvoerbaar bestand kunt plaatsen met de naam Program.exe, Unquoted.exe, of Common.exe op een locatie
waar Windows probeert te zoeken, dan wordt dat bestand uitgevoerd.
wmic service get name,displayname,pathname,startmode | ndstr /i "auto" | ndstr /i /v "C:\Windows\\" | ndstr /i /v """
Les 2: Manier 4: Services Misbruiken via Toegangsrechten met AccessChk
Met AccessChk kun je controleren welke services door de huidige gebruiker kunnen worden uitgevoerd. Als je toegang
hebt om een service te starten, kun je de conguratie van die service aanpassen en een kwaadaardige opdracht
uitvoeren.
Stappen:
1. Download AccessChk van de Sysinternals website.
Je kunt AccessChk downloaden via de volgende link:
AccessChk Download - Sysinternals Suite
Deze link bevat de volledige Sysinternals Suite, waaronder de tool AccessChk, die je kunt gebruiken om
toegangsrechten te controleren op services die je als standaardgebruiker kunt starten of beheren.
2. Gebruik het volgende commando om te zien welke services de gebruiker kan starten:
Manier 5: Windows Defender Exclusions om Activiteiten te Verbergen
Een andere manier om volledige controle over het systeem te krijgen zonder dat Windows Defender tussenbeide komt,
is door bepaalde mappen, zoals de **C:**-schijf, uit te sluiten van Windows Defender-scans. Dit is nuttig wanneer je
adminrechten hebt verkregen en ongehinderd acties wilt uitvoeren zonder dat anderen of Windows Defender deze
detecteren. In plaats van Windows Defender volledig uit te schakelen, kun je een map of een schijf uitsluiten van
bescherming.
Stappen om Windows Defender Exclusions te Gebruiken:
1. Stap 1: Open Windows Security
Klik op het Start-menu en zoek naar Windows Security.
Open de Windows Security app.
2. Stap 2: Ga naar Virus & Threat Protection Settings
In het hoofdscherm, klik op Virus & threat protection.
Scroll naar beneden en klik op Manage settings onder Virus & threat protection settings.
3. Stap 3: Ga naar de Exclusions Instellingen
Scroll naar beneden en zoek de sectie Exclusions.
Klik op Add or remove exclusions.
4. Stap 4: Voer Admin-gegevens in
Omdat je systeembeheerdersrechten nodig hebt om deze instellingen te wijzigen, wordt je gevraagd
om admin-inloggegevens in te voeren. Vul deze gegevens in.
5. Stap 5: Voeg de C:-schijf toe aan de Exclusions
Klik op Add an exclusion en selecteer Folder.
Blader naar *C:* en selecteer de hele C-schijf. Dit zorgt ervoor dat Windows Defender deze map niet
scant.
6. Stap 6: Bevestig en verieer
o Nadat je de C-schijf hebt toegevoegd, wordt deze uitgesloten van alle Windows Defender-scans. Je kunt
dit bevestigen door terug te keren naar de exclusions-lijst en te zien dat *C:* is toegevoegd.
Samenvatting:
Manier 5: Windows Defender Exclusions Gebruiken om Activiteiten te Verbergen
Als je adminrechten hebt verkregen, kun je bepaalde mappen, zoals de C-schijf, uitsluiten van Windows Defender-
scans. Dit stelt je in staat om acties uit te voeren zonder dat Windows Defender deze detecteert, zonder dat je de
antivirussoftware volledig hoeft uit te schakelen.
Stappen:
1. Open Windows Security via het Start-menu.
2. Ga naar Virus & threat protection settings.
3. Scroll naar beneden en klik op Add or remove exclusions.
4. Voer de admin-inloggegevens in wanneer daarom wordt gevraagd.
5. Voeg de **C:**-schijf toe als een uitsluiting door Folder te selecteren.
6. Bevestig dat de uitsluiting succesvol is door te controleren of *C:* in de exclusions-lijst staat.
Manier 6: Pass-the-Hash-aanval met Mimikatz
Een Pass-the-Hash (PTH)-aanval met Mimikatz stelt je in staat om de identiteit van een gebruiker over te nemen zonder
hun wachtwoord te kennen. Dit doe je door de NTLM-hash van de gebruiker te gebruiken om authenticatie uit te voeren.
Het voordeel hiervan is dat je kunt inloggen als een gebruiker en acties kunt uitvoeren met hun rechten, zonder hun
wachtwoord te hoeven achterhalen.
Stappen voor een Pass-the-Hash-aanval met Mimikatz:
Stap 1: Download en open Mimikatz
Ga naar de oiciële GitHub-pagina van Mimikatz en download de nieuwste versie.
Open een Opdrachtprompt (CMD) als beheerder (rechtermuisknop > Uitvoeren als administrator).
Privilege::debug moet eerst uitgevoerd worden.
Zoek in de uitvoer naar de NTLM-hash van de gebruiker die je wilt imiteren, bijvoorbeeld Administrator.
Stap 3: Voer een Pass-the-Hash-aanval uit
Gebruik het volgende commando om in te loggen als de gebruiker waarvan je de NTLM-hash hebt:
sekurlsa::pth /user:Administrator /domain:win10client /ntlm:[NTLM-HASH]
Vervang [NTLM-HASH] door de daadwerkelijke hash die je in de vorige stap hebt gevonden.
Vervang win10client met je domainnaam, bijvoorbeeld win10adm of win10srv, Meestal admin gebruikt hetzelfde
wachtwoord voor meerdere domainen.
Vervang win10client door de naam van het domein of de werkgroep van het systeem.
Stap 4: Open een nieuwe sessie als de gebruiker
Als het commando succesvol is, opent Mimikatz een nieuwe Opdrachtprompt (cmd), nu als de
geïmpersoniceerde gebruiker (bijvoorbeeld Administrator). Dit betekent dat je nu volledige rechten
hebt als die gebruiker.
Stap 5: Verieer de nieuwe sessie
Om te controleren of je bent ingelogd als de juiste gebruiker, voer je het volgende commando uit in de
nieuwe cmd-sessie:
Dit zal je laten zien dat je nog steeds dezelfde gebruiker bent, maar dat je wel de rechten van de
administrator hebt.
Stap 6: Uitvoeren van acties met verhoogde rechten
Je kunt nu verschillende acties uitvoeren met de rechten van de geïmpersoniceerde gebruiker, zoals
het uitvoeren van beheerstaken of toegang krijgen tot bestanden en mappen waar je normaal geen
toegang toe hebt.
Samenvatting voor je Handleiding:
Manier 6: Pass-the-Hash-aanval uitvoeren met Mimikatz Met een Pass-the-Hash-aanval kun je je voordoen
als een gebruiker zonder het wachtwoord te weten. Dit doe je door gebruik te maken van de NTLM-hash van de
gebruiker. Het is een krachtige techniek om systeemrechten te krijgen en taken uit te voeren namens een
andere gebruiker.
Door deze methode kun je gemakkelijk als een andere gebruiker inloggen zonder dat je hun wachtwoord hoeft
te weten.
Ping
Bij het commando ping win19adm:
De computer zoekt het IP-adres op dat hoort bij de hostnaam win19adm.
Het stuurt vervolgens ICMP Echo Requests naar het gevonden IP-adres om te controleren of het apparaat
bereikbaar is.
Je krijgt het IP-adres en de reactietijden als resultaat, waarmee je de netwerkverbinding kunt controleren.
Het commando dir \\ip\c$:
\\ip\c$ verwijst naar de C-schijf van een computer met het opgegeven IP-adres via een administratieve share.
dir toont een lijst van bestanden en mappen op die schijf.
Kort gezegd: dir \\ip\c$ geeft een overzicht van de bestanden en mappen op de C-schijf van de doelcomputer via
het netwerk, mits je de juiste rechten hebt.
PsExec
Met PsExec kun je verschillende beheer- en automatiseringstaken uitvoeren op een andere computer in het netwerk,
zonder fysieke toegang tot die computer. Het is een krachtig hulpmiddel voor systeembeheerders. Hier zijn enkele van
de belangrijkste dingen die je met PsExec kunt doen:
Controleer netwerktoegang
Zorg ervoor dat je verbinding kunt maken met de doelcomputer via het netwerk. Je kunt dit testen met het ping-
commando:
Vervang 192.168.1.10 door het IP-adres van de doelcomputer.
Gebruik PsExec met een aangepaste servicenaam
Om te voorkomen dat de standaard PsExec-service vastloopt of wordt geblokkeerd, gebruik je de -r optie om een
aangepaste servicenaam te kiezen (in dit geval malware).
\\192.168.1.10: Het IP-adres van de doelcomputer.
-r malware: Dit zorgt ervoor dat PsExec een service aanmaakt met de naam malware in plaats van de
standaardnaam PSEXESVC.
cmd: Opent een command-prompt op de doelcomputer.
Accepteer de EULA automasch (oponeel)
Als je PsExec voor de eerste keer gebruikt, moet je de licentieovereenkomst (EULA) accepteren. Dit kun je
automatiseren met de -accepteula optie.
Een programma of script op afstand uitvoeren
Je kunt een programma of script op de doelcomputer uitvoeren zonder dat je handmatig in hoeft te loggen.
\
Bestanden naar de doelcomputer kopiëren en een programma uitvoeren
Je kunt een bestand naar de doelcomputer kopiëren en het daar uitvoeren met PsExec.
Opdrachten in de achtergrond uitvoeren
Je kunt programma's of scripts in de achtergrond laten draaien op de doelcomputer zonder de uitvoer te zien.
Processen op afstand beëindigen
Je kunt PsExec gebruiken om processen te beëindigen op een externe computer.
Wachtwoord van admin aanpassen:
Echte voorbeelden
Les 3 – Manier 7: DLL Hijacking-aanval
Bij een DLL Hijacking-aanval maak je gebruik van het feit dat Windows mogelijk een DLL laadt vanaf een locatie waar de
aanvaller controle over heeft. Door een malade DLL te plaatsen op een plek waar een service naar zoekt, kan een
aanvaller ongeautoriseerde code uitvoeren met de rechten van die service.
Stappen voor een DLL Hijacking-aanval:
Stap 1: Controleer de service
Ga naar Services op je doelcomputer en controleer of er een service is die kwetsbaar is voor DLL hijacking.
Kopieer de uitvoerbare bestand van die service (bijvoorbeeld dllhijackservice.exe) naar je eigen computer waar
je adminrechten hebt.
Stap 2: Maak de service aan
Maak een nieuwe service op je eigen machine met het commando:
sc create <service_name> binpath= "<path_to_dllhijackservice.exe>"
Stap 3: Gebruik Process Monitor
Gebruik Process Monitor (van Sysinternals) om te controleren welke DLLs worden geladen wanneer je de
service start.
Filter op de naam van de executable (hijack.exe) en .dll bestanden om te zien waar Windows naar zoekt voor de
DLL's.
Stap 4: Plaats de kwaadaardige DLL
Kijk welke mappen Windows doorzoekt voor de DLL's. Als een van deze mappen op het doelsysteem toegankelijk
is en je hebt daar rechten, plaats dan een malade DLL met dezelfde naam als de verwachte DLL.
Indien je geen toegang hebt tot die mappen, kijk in de omgevingsvariabele %PATH% of er een andere locatie is
waar je rechten hebt om de DLL te plaatsen.
Stap 5: Service uitvoeren
Start de service op de doelcomputer. Als de kwaadaardige DLL geladen wordt, kan deze code uitvoeren met de
rechten van de service.
Stap 6: Gebruik een netwerkschijf (indien nodig)
Als je werkt vanuit een virtuele machine (VM), kun je een netwerkmap gebruiken om bestanden uit te wisselen
tussen je VM en je eigen computer.
Samenvatting voor je handleiding:
Manier 7: DLL Hijacking-aanval uitvoeren
Met een DLL Hijacking-aanval kun je een kwetsbare service misbruiken om een malade DLL te laden en zo
ongeautoriseerde code uit te voeren. Door de juiste DLL op de juiste locatie te plaatsen, kan de aanvaller controle
krijgen over de service. Deze techniek is een krachtig voorbeeld van privilege escalation, waarbij de aanvaller code kan
uitvoeren met de rechten van de service.